
module.exports = {
  // 基本路径
  publicPath: './',
  // 输出文件目录
  outputDir: 'dist',
  // webpack-dev-server 相关配置
  devServer: {
    port: 8888,
  },//webpack配置
  lintOnSave: false,   //配置关闭eslint
  // configureWebpack: {
  //   //警告 webpack 的性能提示
  //   performance: {
  //     hints: 'warning',
  //     //入口起点的最大体积
  //     maxEntrypointSize: 5000000000,
  //     //生成文件的最大体积
  //     maxAssetSize: 3000000000,
  //     //只给出 js 文件的性能提示
  //     assetFilter: function (assetFilename) {
  //       return assetFilename.endsWith('.js');
  //     }
  //   }
  // }
  // 使用 chainWebpack 自定义打包入口
  // 1.配置开发环境下程序入口为main-dev.js
  // 2.配置生产环境下程序入口为main-prod.js
  chainWebpack: config => {
    config.set('externals', {
      vue: 'Vue',
      'vue-router': 'VueRouter',
      axios: 'axios',
      lodash: '_',
      echarts: 'echarts',
      nprogress: 'NProgress',
      'vue-quill-editor': 'VueQuillEditor',
    })
    // 发布模式
    config.when(process.env.NODE_ENV === 'production', config => {
      config.entry('app').clear().add('./src/main-prod.js')
      config.plugin('html').tap(args=>{
        args[0].isProd = true
        return args
      })
    })
    // 开发模式
    config.when(process.env.NODE_ENV === 'development', config => {
      config.entry('app').clear().add('./src/main-dev.js')
      config.plugin('html').tap(args=>{
        args[0].isProd = false
        return args
      })
    })
  }
}